fonfandomcom_it-20200213-history
Router fon fatto in casa
=Come costruire un router fon fatto in casa= Router FON fatto in casa è una guida per trasformare un pc in un router avanzato , e soprattutto in un FON router Attenzione: questo howto presuppone che abbiate una conoscenza di base dei sistemi informatici Linux. Non si tratterà in questo howto su come configurare un pc linux. In questa guida io farò riferimento alla distribuzione Gentoo linux per un paio di motivi . Il primo sicuramente perchè è la distribuzione che io uso correttamente su tutte le macchine che installo , la seconda che esiste un ebuild gia pronto di chillispot. Presupposti: *il vostro server è installato e funzionante nella configurazione base *avete installato 3 schede di rete *il vostro server è in grado di accedere ad internet tramite un router adsl. Inizio: Seguendo i presupposti sopra , le vostre schede di rete sono così determinate : *eth0 interfaccia pubblica a cui assegnerete un indirizzo ip 192.168.0.2 netmask 255.255.255.0 default gateway 192.168.0.1 (indirizzo ip del vostro router adsl) *eth1 interfaccia LAN con ip 192.168.1.1 netmask 255.255.255.0 alla quale andranno collegati tutti i vostri computer tramite uno switch *eth2 interfaccia WLAN ip 192.168.2.1 netmask 255.255.255.0 alla quale andra collegato un access point qualsiasi (usati su ebay li potete trovare per una pipa di tabacco ) Firewall: Per un corretto routing e firewalling dovremo costruire delle regole di iptables . Noi che siamo delle persone pigre e svogliate , useremo shorewall , un set di script che consente di costruire un ottimo firewall editando semplicemente dei files di configurazione. Installiamo shorewall con emerge shorewall . Cominciamo ad editare i files che si trovano in /etc/shorewall cominciamo con il file interfaces . editatelo in modo che assomigli a questo : ZONE INTERFACE BROADCAST OPTIONS net eth0 detect routefilter,norfc1918 loc eth1 detect dhcp air eth2 detect dhcp in questo modo definiamo la tipologia delle nostre interfacce nel nostro firewall. Prendiamo ora in esame il file masq e rendetelo simile a questo #INTERFACE SUBNET ADDRESS eth0 eth1 eth0 eth2 Così facendo la nostra linuxbox farà da masquerading ai pacchetti in arrivo alla eth0 (la nostra interfaccia net ) verso eth1 e eth2 (la nostra rete privata) il prossimo file da editare è policy. Il file policy è importante perchè deciderà il comportamento di base del nostro firewall vediamolo #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST loc net ACCEPT info air net DROP # If you want open access to the Internet from your Firewall # remove the comment from the following line. fw net ACCEPT # Also If You Wish To Open Up DMZ Access To The Internet # remove the comment from the following line. #dmz net ACCEPT net all REJECT info # THE FOLLOWING POLICY MUST BE LAST all all DROP info Allora la prima riga ci dice che i pacchetti (tutti ) in partenza dalla rete locale alla rete internet saranno sempre accettati. La seconda riga negherà ogni traffico dalla rete wireless all rete internet (spiegherò poi perchè).La terza regola permette all'host che stiamo trasformando in un router (il PC con linux) di accedere ad internet. La quarta riga rifiuta i pacchetti provenienti dall'esterno , verso la rete locale . L'ultima regola sega tutti i pacchetti che non corrispondono alle regole precedentemente scritte. Ancora un file da editare zones #ZONE DISPLAY COMMENTS net Net Internet loc Local Local Networks air Wireless Wireless interface questo è abbastanza chiaro , definiamo il nome delle zone del nostro firewall. Bene , a questo punto il nostro firewall è pronto . Tutte le varie personalizzazioni possono essere fatte tramite il file rules dove possiamo definire quello che ci pare. Fate ripartire lo script shorewall e controllate che tutto funzioni.In specialmodo , controllate che tramite interfaccia wireless non riusciate ad accedere , ne all'internet , ne alla vostra rete locale. Chillispot: E' giunto il momento di installare chillispot , il pezzo di software che ci permetterà di autenticarci presso il server radius di Fon ed attivare il nostro hotspot fatto in casa. Per prima cosa dobbiamo vedere se il nostro kernel abbia i moduli del Universal TUN/TAP . Facilmente verificabile con modprobe tun. Se non vi dice niente il modulo viene caricato ed esiste , se vi dice FATAL: Module tun not found lo dovete compilare. Nel caso dobbiate compilare il modulo , questo è il menu del menuconfig che dovrete attivare ( non mi adentro sulla compilazione del kernel , come avevo premesso all'inizio di questo howto) * Network device support Universal TUN/TAP device driver support A cosa ci serve questo Tunnel ? (il Caparezza a poco a che fare) A creare una vpn che chillispot userà per i suoi loschi scopi ! Una volta accertata la presenza del modulo , facciamo in modo che venga caricato ad ogni riavvio editando il file /etc/modules.autoload.d/kernel-2.6 in questo modo nano -w /etc/modules.autoload.d/kernel-2.6 tun Ora installiamo chillispot emerge -v chillispot editiamo il file /etc/chilli.conf in questo modo radiusserver1 213.134.45.32 radiusserver2 213.134.45.32 radiussecret garrafon dns1 212.245.255.2 dhcpif eth2 uamallowed 192.168.182.1,212.245.255.2,www.fon.com,www.paypal.com,www.paypalobje cts.com,www.skype.com,www.martinvarsavsky.net,213.134.45.0/24 uamserver https://login.fon.com/cp/index.php uamsecret garrafon radiusnasid 00-40-XX-XX-XX-XX uamanydns ora aggiungiamo chillispot al nostro runlevel di default in modo che parta ad ogni riavvio rc-update add chillispot default A questo punto siamo ad un passo dal successo. Ricordate quando nella parte firewall ho indicato questa configurazione nelle policy ? air net DROP E' una regola del firewall per evitare che chiunque assegni un indirizzo fisso ai dispositivi wireless possa navigare senza autorizzazione. Vogliamo che le navigazione internet avvenga unicamente tramite Tunnel e per fare questo , dobbiamo rieditare i file di configurazione del nostro shorewall. file interfaces aggiungete alla fine questa riga : tun tun0 detect file masq aggiungete alla fine questa riga : eth0 tun0 file policy aggiungete all'inizio questa riga: tun net ACCEPT file zones aggiungete alla fine questa riga: tun chilli Chillispot Dobbiamo anche inserire alcune righe al file rules per permettere il corretto funzionamento del chillispot. Ecco le righe da aggiungere ACCEPT tun fw udp domain ACCEPT net tun tcp 3990 ACCEPT tun all tcp 3990 ACCEPT all all tcp 3990 ACCEPT net tun tcp 443 ACCEPT fw tun icmp 11,8 A questo punto un reboot alla macchina , non veramente necessario , in quanto potete dare un modprobe tun e /etc/init.d/chillispot start e tutto dovrebbe funzionare. Ora collegatevi con un dispositivo wireless . Dovrebbe prendere automaticamente un indirizzo ip del tipo 192.168.182.X e alla richiesta di una pagina web , dovrebbe indirizzarvi nel portale di login di fon. Inserite le vostre credenziali e registrate l'hotspot. Credits: Il mio post originale nel forum in inglese di Fon HOWTO Chillispot with FreeRadius and MySQL categoria:howto